package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@TableName("t_employee_contract")
public class EmployeeContract {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String contractTitle;
    private String employerName;
    private String employerAddress;
    private String employerLegalRepresentative1;
    private String employerLegalRepresentative;
    private String employerContactPerson;
    private String employerContactPhone;
    private String employeeName;
    private String employeeGender;
    private String employeeIdNumber;
    private String employeeAddress;
    private String employeeContactPhone;
    private Integer contractPeriodType;


    @ApiModelProperty("固定期限开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate fixedStartDate;

    @ApiModelProperty("固定期限结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate fixedEndDate;

    @ApiModelProperty("无固定期限开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate indefiniteStartDate;

    @ApiModelProperty("工作任务开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate taskStartDate;

    private String taskCompletionSign;
    private Integer probationType;

    @ApiModelProperty("试用期开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate probationStartDate;

    @ApiModelProperty("试用期结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate probationEndDate;


    private String jobContent;
    private String jobLocation;
    private BigDecimal timedSalary;
    private String pieceworkSalary;
    private String otherSalaryForm;
    private BigDecimal probationSalary;
    private Integer paymentDate;
    private String workType;
    private String hazards;
    private String protectionMeasures;
    private Integer healthCheckTimes;


    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty("创建人")
    private String createBy;
    @ApiModelProperty("更新人")
    private String updateBy;

    @TableLogic
    private Boolean isDeleted;
}